package vashion.azeroth.core.service.tran;

import java.util.List;

import vashion.azeroth.core.personal.pojo.PersonalMember;
import vashion.azeroth.core.personal.tran.pojo.PersonalRechargeOrder;
import vashion.azeroth.core.result.ApiResult;

public interface PersonalRechargeService<Charge> {

	/**
	 * 获取充值凭证
	 * @param order
	 * @param clintIp
	 * @return
	 */
	ApiResult<String> obtainChargeCredential(PersonalRechargeOrder order, PersonalMember member, String clintIp);
	
	/**
	 * 获取消费凭证
	 * @param disburseNo
	 * @param clientIp
	 * @return
	 */
	ApiResult<String> obtainDisburseCredential(String disburseNo, String modeName, PersonalMember member, String clientIp);
	
	/**
	 * V币支付
	 * @param disburseNo
	 * @param clientIp
	 * @return
	 */
	ApiResult<String> vpay(String disburseNo, String clientIp);
	
	
    ApiResult<List<PersonalRechargeOrder>> getRechargeOrderList(PersonalRechargeOrder rechargeOrder);
    
    /**
     * 确认充值订单
     * @param rechargeOrderNo
     * @return
     */
    ApiResult<String> confirmRechargeOrder(String rechargeOrderNo);
	
}
